home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Best of MacTutor - S…e Code for Volumes 1 to 5
/
The Best of MacTutor - Source Code for Volume 1-5 (Wayzata Technology)(6031)(1990).bin
/
Source Code
/
#50 (Nov 89)
/
Inside Code
/
Meter.h
< prev
next >
Wrap
Text File
|
1989-01-29
|
2KB
|
65 lines
/* Meter.h - MeterRecord definition and interface function protoypes */
/* special partCode for meter */
#define inBackground 24
struct MeterRecord
{
struct MeterRecord **nextMeter; /* or NULL */
WindowPtr meterOwner;
Rect meterRect;
Byte meterVis;
Byte meterHilite;
long meterValue, meterMin, meterMax, needleValue;
/*ProcPtr meterAction;*/
long meterRfCon;
char title[32]; /* pascal format, length byte first */
/* some additional fields */
Rect incDownRect, incUpRect, pageDownRect, pageUpRect;
Rect displayRect;
long displayDivisor; /* power of ten */
int needleShort, needleLong, halfNeedleWidth;
int setShort, setLong, halfSetWidth;
PicHandle backgroundH;
PolyHandle incUpH, incDownH, pageUpH, pageDownH;
Point dialCentre;
long hasMeterID;
};
typedef struct MeterRecord MeterRecord;
typedef MeterRecord *MeterPtr;
typedef MeterRecord **MeterHandle;
typedef void (*voidPtr)() ;
/* Functions defined in Meter.c */
extern MeterHandle NewMeter(WindowPtr, Rect*, char*, Boolean, long, long, long, long);
extern void DisposeMeter(MeterHandle);
extern void KillMeters(WindowPtr);
extern void SetMTitle(MeterHandle, char*);
extern void GetMTitle(MeterHandle, char*);
extern void HideMeter(MeterHandle);
extern void ShowMeter(MeterHandle);
extern void DrawMeters(WindowPtr);
extern void HiliteMeter(MeterHandle, int);
extern int FindMeter(Point, WindowPtr, MeterHandle*);
extern int TrackMeter(MeterHandle, Point, voidPtr);
extern int TestMeter(MeterHandle, Point);
extern void MoveMeter(MeterHandle, int, int);
extern void DragMeter(MeterHandle, Point, Rect*, Rect*, int);
extern void SizeMeter(MeterHandle, int); /* note proportions are fixed */
extern void SetMtrValue(MeterHandle, long);
extern long GetMtrValue(MeterHandle);
extern void SetMtrMin(MeterHandle, long);
extern long GetMtrMin(MeterHandle);
extern void SetMtrMax(MeterHandle, long);
extern long GetMtrMax(MeterHandle);
extern void SetMRefCon(MeterHandle, long);
extern long GetMRefCon(MeterHandle);
/* note multiple actions procs not supported in this simple version */
extern void SetNeedleValue(MeterHandle, long);
extern long GetNeedleValue(MeterHandle);
extern long GetDisplayDivisor(MeterHandle);
extern Boolean ValidMeter(MeterHandle);
extern int GetMaxTitlePixels(MeterHandle);
extern void MeterSnapshot(MeterHandle); /* draws meter to thePort
rather than meter's owning window */